AWSでコロナウィルス(COVID-19)のデータレイクが公開されたので試してみた
AWSでコロナウィルス(COVID-19)のデータレイクが公開されました。
Athenaを使って自由にSQLクエリでコロナウィルス(COVID-19)のデータセットへアクセスできる環境が提供されています。さっそく試してみました!
前提
今回の環境を構築するために、次の条件が必要です。
- AWSアカウントがあること
- CloudFormationスタックを作成できる権限があること
- Glueを作成できる権限があること
使ってみる
公式ブログに記載されている、CloudFormationのクイック作成リンクをクリックして、CloudFormationを構築します。このCFnスタックはオハイオ(us-east-2)リージョンに構築されます。
できあがったCFnのリソースを見てみると、Glueテーブルがいっぱいできています。
作成されたGlueテーブルは、オハイオ(us-east-2)リージョンのAthenaから簡単にSQLクエリでアクセスできます。 オハイオリージョンで初めてAthenaを使う場合、SQLクエリの結果を保存するS3バケットを設定する必要があります。
別途適当なS3バケットを新しく作成した後に、SQLクエリの結果を保存する場所を設定してください。
Athenaの画面を見てみると、covid-19という名前のデータベースが作成されていて、いくつかのテーブルができていることがわかります。
具体的に1つのテーブル(enigma_jhuテーブル)の中身を見てみます。
このテーブルは世界中のprovinces, states, countriesで確認されたCOVID-19の症例データです。 アメリカでは州レベルまでブレークダウンされています。
- AWS Marketplace: Global Coronavirus (COVID-19) Data (Johns Hopkins)
- COVID-19/csse_covid_19_data at master · CSSEGISandData/COVID-19
テーブルの各項目の概要は次のような感じです。
項目名 | 概要 |
---|---|
province_state | 中国-省名、米国/カナダ/オーストラリア-市名/州/県名、その他-イベント名(例:クルーズ船「ダイヤモンド・プリンセス」)、その他の国-空白 |
country_region | WHOに準拠した国名・地域名(更新予定) |
last_update | MM/DD/YYYY HH:mm (24 hour format, in UTC) |
latitude | 緯度 |
longitude | 経度 |
confirmed | 確認された症例数 |
deaths | 死者数 |
recovered | 回復者数 |
たとえばこんなSQLクエリを実行すると、日本の直近10件のデータがわかります。
SELECT country_region as "国名", last_update as "最終更新日時", confirmed as "症例数", deaths as "死者数", recovered as "回復者数" FROM "covid-19"."enigma_jhu" WHERE country_region='Japan' ORDER BY last_update DESC limit 10;
そのほかにも、COVID-19についてテストされた人の数および陽性・陰性数やアメリカの病院のベッド等いろいろな情報が公開されているので、興味のある方はぜひAWSの公式ブログを御覧ください。
また、AthenaをデータソースとしてQuickSightで可視化できます。 自分で作らなくてもAWS公式がQuickSightダッシュボードを公開しているので、これで毎日の更新を追跡することもできます。
終わりに
SQLクエリさえ書ければ、Athenaを利用してCOVID-19のデータセットに簡単にアクセスして利用できます。
SQLクエリを書ける方は簡単に利用できるので、ぜひ試してみてください。
そして、コロナウィルスで大変な時期ではありますが、不要不急な外出はなるべく控えて、3密(密閉空間、密集場所、密接場面)は避けて、手をよく洗い、みんなでこの苦境を乗り越えていきましょう!